import 'dart:convert';
import 'package:flutter_app/generated/json/base/json_field.dart';
import 'package:flutter_app/generated/json/list_calendar_detail_entity.g.dart';

@JsonSerializable()
class ListCalendarDetailEntity {
  String? calendarOfDay;
  String? calendarOfMonth;
  String? calendarOfYear;
  ListCalendarDetailCancelSchedule? cancelSchedule;
  String? isSelf;
  String? isWork;
  List<ListCalendarDetailScheduleList>? scheduleList;
  String? signCount;
  String? signStatus;
  String? userId;
  String? userName;
  String? workDate;

  ListCalendarDetailEntity();

  factory ListCalendarDetailEntity.fromJson(Map<String, dynamic> json) =>
      $ListCalendarDetailEntityFromJson(json);

  Map<String, dynamic> toJson() => $ListCalendarDetailEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class ListCalendarDetailCancelSchedule {
  String? beSure;
  String? cancelReason;
  String? status;
  String? updateTime;
  String? userId;
  String? userName;
  String? workDate;

  ListCalendarDetailCancelSchedule();

  factory ListCalendarDetailCancelSchedule.fromJson(
          Map<String, dynamic> json) =>
      $ListCalendarDetailCancelScheduleFromJson(json);

  Map<String, dynamic> toJson() =>
      $ListCalendarDetailCancelScheduleToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class ListCalendarDetailScheduleList {
  String? beSure;
  String? cancelReason;
  String? status;
  String? updateTime;
  String? userId;
  String? userName;
  String? workDate;

  ListCalendarDetailScheduleList();

  factory ListCalendarDetailScheduleList.fromJson(Map<String, dynamic> json) =>
      $ListCalendarDetailScheduleListFromJson(json);

  Map<String, dynamic> toJson() => $ListCalendarDetailScheduleListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}
